import service from '@/utils/request'

// 获取-员工列表 /sys/user
export function getEmployeeListRequest(params) {
  // return service({
  //   method: 'GET',
  //   url: '/sys/user',
  //   params
  // })
  return service.get('/sys/user', { params })
  // return service.GET('/sys/user', { params })
}

// 批量-导出员工excel  /sys/user/export
// 这个请求 比较特殊，需要主动在axios里设置 请求类型
// 因为我们要得到一个excel文件，只有通过二进制的传输，我们才能在前端获取这个文件， 默认返回类型是字符串
export function userExportRequest() {
  return service({
    method: 'GET',
    url: '/sys/user/export',
    responseType: 'blob'
  })
}

// 批量-下载导入员工模板  /sys/user/import/template
export function importTemplateRequest() {
  return service({
    method: 'GET',
    url: '/sys/user/import/template',
    responseType: 'blob'
  })
}

// 批量-导入员工(上传excel) /sys/user/import
export function importExcelRequest(data) {
  return service({
    method: 'POST',
    url: '/sys/user/import',
    // 因为是上传，这个data就不是 json类型，而是文件类型 ---  FormData
    data: data
    // responseType: 'blob' response 是返回的意思，只有下载，从服务器返回数据，才需要配置这个属性
  })
}

// 删除-员工  /sys/user/{id}
export function deleteEmployeeRequest(id) {
  return service({
    method: 'DELETE',
    url: `/sys/user/${id}`
  })
}

// 新增-员工  /sys/user
export function addEmployeeRequest(data) {
  return service({
    method: 'POST',
    url: `/sys/user`,
    data
  })
}

// 获取-员工-基本信息 /sys/user/{id}
export function getEmployeeInfoRequest(id) {
  return service({
    method: 'GET',
    url: `/sys/user/${id}`
  })
}

// 修改-员工-基本信息  /sys/user/{id}
export function updateEmployeeInfoRequest(data) {
  return service({
    method: 'PUT',
    url: `/sys/user/${data.id}`,
    data
  })
}

// 分配-员工-角色  /sys/user/assignRoles
// 传递的参数 是 员工的id  + 所有角色id组成的数组
export function assignRolesRequest(data) {
  return service({
    method: 'PUT',
    url: '/sys/user/assignRoles',
    data
  })
}
